﻿using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;

namespace Acaweb.Servicios.Contracts
{
    [ServiceContract]
    public interface ISolicitudesService
    {
        [WebInvoke(Method = "POST", UriTemplate = "GetAll", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Solicitudes> GetAll();

        [WebInvoke(Method = "POST", UriTemplate = "GetById", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        Solicitudes GetById(int Id);

        [WebInvoke(Method = "POST", UriTemplate = "GetByEstado", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Solicitudes> GetByEstado(EstadoSolicitud Estado);

        [WebInvoke(Method = "POST", UriTemplate = "GetByPlanEstudio", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Solicitudes> GetByPlanEstudio(int CodigoPlan);

        [WebInvoke(Method = "POST", UriTemplate = "Insert", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        void Insert(Solicitudes Solicitud);

        [WebInvoke(Method = "POST", UriTemplate = "Update", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        void Update(Solicitudes Solicitud);

        [WebInvoke(Method = "POST", UriTemplate = "GetByEmpresa", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Solicitudes> GetByEmpresa(string NitEmpresa);
    }
}
